From 0c09e874d8efd58f8866f6ab4d5992f318504a27 Mon Sep 17 00:00:00 2001 From: tsteven4 Date: Thu, 13 Dec 2012 01:04:03 +0000 Subject: [PATCH] Naviguide: Fix handling of negative ICS eastings and northings. git-svn-id: http://gpsbabel.googlecode.com/svn/trunk@4229 f51c46e8-681c-474f-0cfe-069cfd0219fb --- gpsbabel/naviguide.c | 8 ++--- gpsbabel/reference/ics.gpx | 21 +++++++++++ gpsbabel/reference/ics.gpx.naviguide.gpx | 36 +++++++++++++++++++ .../reference/track/trackfilter_discard.gpx | 0 gpsbabel/testo.d/classic-4.test | 4 +++ 5 files changed, 65 insertions(+), 4 deletions(-) create mode 100644 gpsbabel/reference/ics.gpx create mode 100644 gpsbabel/reference/ics.gpx.naviguide.gpx mode change 100755 => 100644 gpsbabel/reference/track/trackfilter_discard.gpx diff --git a/gpsbabel/naviguide.c b/gpsbabel/naviguide.c index 5bebab664..3f28f9973 100644 --- a/gpsbabel/naviguide.c +++ b/gpsbabel/naviguide.c @@ -47,8 +47,8 @@ typedef struct { typedef struct { unsigned char pad1[8]; /* 0xfe, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00 */ /* coordination are in old israeli grid */ - gbuint32 East; - gbuint32 North; + gbint32 East; + gbint32 North; unsigned char pad2[2]; /* 0x01, 0x01 */ gbuint32 Alt; char CommentLength; @@ -252,8 +252,8 @@ ng_waypt_rd(const waypoint* wpt) fatal(MYNAME ": Waypoint %d is out of the israeli grid area", current_wp_ix); } - WPNC.wp_data.North = (gbuint32)lat; - WPNC.wp_data.East = (gbuint32)lon; + WPNC.wp_data.North = (gbint32)lat; + WPNC.wp_data.East = (gbint32)lon; if (reorder_wp) { sprintf(temp_short_name, "A%03d", current_wp_ix); diff --git a/gpsbabel/reference/ics.gpx b/gpsbabel/reference/ics.gpx new file mode 100644 index 000000000..4b84c0e93 --- /dev/null +++ b/gpsbabel/reference/ics.gpx @@ -0,0 +1,21 @@ + + + + +1 + + +2 + + +3 + + +4 + + diff --git a/gpsbabel/reference/ics.gpx.naviguide.gpx b/gpsbabel/reference/ics.gpx.naviguide.gpx new file mode 100644 index 000000000..c0d21d92e --- /dev/null +++ b/gpsbabel/reference/ics.gpx.naviguide.gpx @@ -0,0 +1,36 @@ + + + + + + + 0.000000 + 1 + 1 + 1 + + + 0.000000 + 2 + 2 + 2 + + + 0.000000 + 3 + 3 + 3 + + + 0.000000 + 4 + 4 + 4 + + + diff --git a/gpsbabel/reference/track/trackfilter_discard.gpx b/gpsbabel/reference/track/trackfilter_discard.gpx old mode 100755 new mode 100644 diff --git a/gpsbabel/testo.d/classic-4.test b/gpsbabel/testo.d/classic-4.test index 2c4ef6a75..e2fb43194 100755 --- a/gpsbabel/testo.d/classic-4.test +++ b/gpsbabel/testo.d/classic-4.test @@ -302,6 +302,10 @@ compare ${REFERENCE}/v900_advanced_mode.gpx ${TMPDIR}/v900_advanced_mode.gpx # gpsbabel -i naviguide -f ${REFERENCE}/route/naviguide-route.twl -o gpx -F ${TMPDIR}/naviguide.gpx compare ${REFERENCE}/route/naviguide.gpx ${TMPDIR}/naviguide.gpx +# Make sure ICS negative eastings and northings work. +gpsbabel -i gpx -f ${REFERENCE}/ics.gpx -o naviguide -F ${TMPDIR}/ics.gpx.naviguide +gpsbabel -i naviguide -f ${TMPDIR}/ics.gpx.naviguide -o gpx -F ${TMPDIR}/ics.gpx.naviguide.gpx +compare ${REFERENCE}/ics.gpx.naviguide.gpx ${TMPDIR}/ics.gpx.naviguide.gpx # # Basic VPL test -- 2.30.2